
#pragma once

#include "Widget.h"

template <class Tab> class TypedList;
class Tab;
class Panel;

class TabPages : public Panel
{
	public:

		TabPages( Widget* pxParent );
		virtual ~TabPages();

		void Update();
		void Render();

		FHandle AddTab( const char* szTitle );
		void DeleteTab( int iIndex );
		
		int GetNumTabs();
		Panel* GetTabPanel( FHandle iHandle );
		
		void SetActiveTab( FHandle iHandle );

		void SetColour( const u_int uColour );

	private:

		static void TabClickCallback( void* pData );
		
		TypedList< Tab >* m_pxTabs;

		FHandle m_iActiveTab;

		Panel* m_pxTabHeaderPanel;

};

// eof